package com.cauli.file.model.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import lombok.Data;

/**
 * @author Cauli
 * @date 2023-03-18 12:00
 * @description 音乐
 */
@Data
@TableName("music")
@ApiModel(value = "Music", description = "音乐")
public class Music {
    /**
     * 音乐ID
     */
    @JsonSerialize(using = ToStringSerializer.class)
    @TableId("music_id")
    private Long musicId;

    /**
     * 文件ID
     */
    @JsonSerialize(using = ToStringSerializer.class)
    @TableField("file_id")
    private Long fileId;

    /**
     * 专辑
     */
    @TableField("album")
    private String album;

    /**
     * 专辑作者
     */
    @TableField("album_artist")
    private String albumArtist;

    /**
     * 专辑图片
     */
    @TableField("album_image")
    private String albumImage;

    /**
     * 歌手
     */
    @TableField("artist")
    private String artist;

    /**
     * 评论
     */
    @TableField("comment")
    private String comment;

    /**
     * 作曲者
     */
    @TableField("composer")
    private String composer;

    /**
     * 版权
     */
    @TableField("copyright")
    private String copyright;

    /**
     * 编码
     */
    @TableField("encoder")
    private String encoder;

    /**
     * 类型
     */
    @TableField("genre")
    private String genre;

    /**
     * 歌词
     */
    @TableField("lyrics")
    private String lyrics;

    /**
     * 原创艺术家
     */
    @TableField("original_artist")
    private String originalArtist;

    /**
     * 发布者
     */
    @TableField("publicer")
    private String publicer;

    /**
     * 标题
     */
    @TableField("title")
    private String title;

    /**
     * 音轨
     */
    @TableField("track")
    private String track;

    /**
     * 音轨长度
     */
    @TableField("track_length")
    private Float trackLength;

    /**
     * URL链接
     */
    @TableField("url")
    private String url;

    /**
     * 年份
     */
    @TableField("year")
    private String year;
}
